#ifndef _routes_api_h_
#define _routes_api_h_

#include "pub.h"

#ifdef __cplusplus
extern "C" {
#endif

typedef enum {
    E_ROUTES_CB_A,
    E_ROUTES_CB_B,
    E_ROUTES_CB_C,
    E_ROUTES_CB_INVALID
} ROUTES_MSG_TYPE;

typedef BEST_STATUS (*RoutesCallbackFunc)(BEST_UINT32 *msgHdr,
                                          BEST_UINT32  msgLen);
BEST_STATUS RoutesInit();
BEST_STATUS RoutesSendMsg(ROUTES_MSG_TYPE typeCode, BEST_UINT32 *msgHdr,
                          BEST_UINT32 msgLen);
BEST_STATUS RoutesRegMsgCallback(ROUTES_MSG_TYPE    typeCode,
                                 RoutesCallbackFunc fn);
BEST_STATUS RoutesUnRegMsgCallback(ROUTES_MSG_TYPE typeCode);
#ifdef __cplusplus
}
#endif
#endif
